<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

// 第一次外循环数组拿到数组里的每一项，  然后分别拿数组的第后一项和前一项做比较，值相同时，删除这个值

var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
  
for( var i = 0 ; i< arr.length; i++){
    for( var j = i + 1 ; j< arr.length ; j++ ){
        if( arr[i]  === arr[j] ){
            arr.splice(j,1)
        } 
    }
}
console.log(arr);

// 0: 1
// 1: "true"
// 2: true
// 3: 15
// 4: false
// 5: undefined
// 6: null
// 7: NaN
// 8: NaN
// 9: "NaN"
// 10: 0
// 11: "a"
// 12: {}
// 13: {}

//  没有去重 NaN 和 { } 还是有缺陷
    </script>
</body>
</html>